package com.magnificent.atlantis.client.scheduler;

import com.magnificent.atlantis.client.data.task.planner.AbstractPlannerTask;
import com.magnificent.atlantis.client.data.task.planner.CommunityMeetingPlannerTask;
import com.magnificent.commons.utils.date.TimePeriod;
import com.magnificent.commons.utils.other.Pair;

import java.util.List;

/**
 * User: Babanin
 * Date: 13.08.2009
 * Time: 23:33:35
 */
public interface SchedulerCallBack {
    public Pair<AbstractPlannerTask, TimePeriod>[] conflict(AbstractPlannerTask taskA, AbstractPlannerTask taskB,
                                                            TimePeriod periodA, TimePeriod periodB);

    public boolean newMeetingWithOutConflict(CommunityMeetingPlannerTask task);

    public TimePeriod newMeetingWithConflictSolutions(CommunityMeetingPlannerTask task, List<TimePeriod> periods);
}
